An Intelligent Network usually refers to a network comprising more intelligence (i.e. a better ability to utilize information stored in the network) than the present public (switched) networks. Another characteristic of the Intelligent Network is that the network architecture somehow draws a distinction between, on the one hand, the operations concerning the switching itself and, on the other hand, the stored data and its processing. Such a division makes it possible that, in principle, the organization providing network services can be different from the organization managing the physical network in which the services are provided. Conceptually, an Intelligent Network can be divided into three parts. The first part comprises the nodes switching traffic (performing connections), the second part contains the services provided by the network, and the third part consists of the internodal communication protocol, i.e. the "language" the machines use to communicate with one another. Since all services must be presented as a sequence of messages conforming with the protocol, the protocol defines the "intelligence" of the network.
In order to facilitate the understanding of the present invention, reference is first made to a simple basic situation illustrated in FIG. 1, wherein two machines (or network nodes) 1 and 2 are shown, the machines being interconnected by means of a signalling link 3. Machine 1 comprises a database DB, and machine 2 is a client asking questions from machine 1 by transmitting messages to machine 1 over the link 3. When machine 1 receives a question, it initiates a transaction resulting in an answer after a certain processing period. When the answer is ready, machine 1 transmits it to machine 2 over the link 3. Each answer costs machine 2 a certain sum.
A theoretical omnipotent machine 1 would answer each question immediately so that the correlation between the questions rate (questions per time unit) and the answering rate (answers per time unit) would look like the description in FIG. 2a. However, there is in practice a limit to how fast machine 1 can provide answers. Taking this into account, the response curve of the omnipotent machine 1 becomes like the one shown in FIG. 2b. When the questions rate exceeds a certain threshold Amax corresponding to the highest possible answering rate, the latter remains constant, i.e. some of the questions will not be answered. However, this situation does not correspond to a real situation, either. In practice, the situation is such that as the questions rate exceeds a certain threshold value for a long period of time, machine 1 becomes overloaded so that the increasing questions rate further reduces the answering rate. This situation is illustrated in FIG. 2c. The decreasing answering rate is due to the fact that the machine starts wasting its resources, for example in such a way that it reserves more and more free memory for storing the questions, so there will be correspondingly less and less memory available for computing the answers. The threshold value of the questions rate at which an overload situation occurs is not constant, but it depends on how much of the capacity of machine 1 is dedicated to answering. For example, the threshold value is lower than usual when the database DB of machine 1 is being updated.
The purpose of any overload prevention method is to make the curve (FIG. 2c) describing a real situation resemble as closely as possible the curve (FIG. 2b) describing an ideal situation. On the other hand, it is reasonable to provide the overload prevention of machine 1 partly in machine 2, so that machine 2 would not have to load the transmission connection between the machines by transmitting messages that would be discarded by machine 1.
Suppose that in order to protect itself, the overloaded machine 1 transmits to machine 2 a restriction or filtering request with which it requests machine 2 to reduce the number of questions to be transmitted. Such a request typically contains two restriction parameters: the upper limit of the questions rate U (i.e. the upper limit of the number of questions performed per time unit) and the duration of the filtration T (i.e. of the restriction). When machine 2 receives such a request, it begins to filter (restrict) the questions traffic so that the questions rate will be at most U, so that part of the questions will fail (they will not even reach machine 1). Machine 2 continues this restriction operation for the period of time T indicated in the restriction request. If machine 2 receives a new request during this period, the upper limit of the questions rate and the interval will be updated to correspond to the new values. Instead of the upper limit of the questions rate, the parameter U may also indicate the percentage of all service request messages machine 2 should transmit to machine 1. For the sake of clarity, only the former meaning (upper limit of the questions rate) will be used hereinafter for the parameter U.
When machine 2 uses the above-described overload prevention mechanism, it has two problems.
The first problem is how to select the aforementioned parameters U and T. A long filtration time T and a low value of the parameter U diminish the overload, but they also entail a clearly lower revenue for machine 1. On the other hand, a short filtration time and a higher value for the parameter U do not necessarily reduce the number of questions sufficiently for the overloading situation to be cleared up, and an overloading situation also means a lower revenue.
A simple way of eliminating this problem is to divide the response characteristic into consecutive overload regions Ln (n=0,1,2 . . . ) according to FIG. 3, each of the regions having its own values for the parameters U and T. If, at all times, machine 1 is able to determine its own load level, then the restriction parameters can be stored in the machine in a format (Ln: T, U), so that the machine can retrieve the required values of the parameters T and U on the basis of the load level Ln. However, this does not quite eliminate the aforementioned problem, but shifts the trouble of selecting the parameters to the operator. There are also methods by means of which the parameters can be selected automatically, based on the utilization ratio of the machine.
The other problem relates to when to send and when not to send restriction requests. Machine 1 should transmit the first restriction request when it is close to becoming overloaded. It should then send a restriction request either when the restriction period T expires (if the overload condition is still on) or when the restriction parameters change. Machine 1 should not transmit new restriction requests if machine 2 restricts the questions correctly (with the right threshold value for the questions rate and the right filtration time T). However, since there is no feedback, machine 1 cannot know if and how machine 2 restricts the questions. If machine 2 is the only source of questions, then machine 1 can solve the problem by monitoring the questions rate and by transmitting a new restriction request when the rate of the incoming questions exceeds the allowed threshold value U. If there are several machines transmitting questions, then efficient bookkeeping is required to monitor the traffic and this makes the arrangement complicated.
This second problem is thus of the synchronization type, since machine 1 must keep up to date (i.e. synchronize) the restriction entity that is in a remote machine according to the loading situation of machine 1 at each moment.
The overload prevention in the Intelligent Network operates in a manner that is very similar to the above-described example. The Intelligent Network architecture is based on service switching points (SSP) and service control points (SCP) that make decisions concerning for example the routing and the charging of the calls. The Service Control Points, which are typically clearly fewer in number than the SSPs, contain knowledge of what the different services do and how to access the data that the services need. In an Intelligent Network, a Service Control Point is like the machine 1 of the above-described example, containing a database, and the SSP is like the machine 2 that asks questions. The above-described synchronization is also a problem in the Intelligent Network since the communication protocol between the nodes is not reliable in this respect.
The above-described example concerned a network that was as simple as possible with respect to its topology. For example an Intelligent Network is a network with a (typically) star topology. A star network basically comprises two kinds of nodes: central nodes and peripheral nodes. Peripheral nodes generate traffic that flows towards the central node. When the Intelligent Network comprises more than one SCP, the architecture corresponds to several superimposed star networks sharing peripheral nodes. FIGS. 4a to 4c illustrate the above-described alternatives with reference CN (in the IN: SCP) denoting a central node and reference PN (in the IN: SSP) denoting a peripheral node. FIG. 4a shows a star network having one central node CN and three peripheral nodes PN. FIG. 4b shows a star network in its simplest form corresponding to the example of FIG. 1 (one central node and one peripheral node), and FIG. 4c shows two star networks sharing peripheral nodes PN.
In addition to the Intelligent Network, many other networks have a star topology. Examples of such networks include a network formed of a satellite and earth stations, wherein the satellite switches traffic generated by the earth stations, or a network consisting of a base station controller and base stations of a cellular network.
In some known (intelligent) networks, the above-described synchronization is implemented with a broadcasting method, wherein the central node transmits a common restriction request to all the peripheral nodes connected thereto whenever its load level changes (or the restriction parameters change for some other reason, for example when the operator changes them) and the peripheral nodes respond to each restriction request they receive with an acknowledgment. The central node keeps a record of the acknowledgement messages, and if some nodes have not transmitted an acknowledgement message within a certain control period, the central node retransmits the restriction request to these nodes. The broadcast is repeated again to all the nodes as the restriction period (T) expires if the overload condition is still on. However, it is difficult to implement such a method in a typical network comprising several nodes, and in addition the method is not reliable, since a peripheral node may be damaged for example immediately after it has transmitted the acknowledgement message, in which case the central node will not be informed of the situation. Another drawback of such a method is that the central node also transmits a restriction request in vain to nodes which cause an insignificant loading on the central node (this could only be avoided by monitoring separately the traffic from each peripheral node, which, however, is a complicated and therefore undesirable solution).
The latter problem has been solved in some known Intelligent Networks in such a way that as the restriction parameters change, a restriction request is always transmitted in response to a service request message (which may be, for example, the question of the example provided in the beginning) sent by a peripheral node. Therefore, the peripheral nodes with light traffic will correspondingly receive fewer restriction requests. The drawback of this method is, however, that it causes a great deal of traffic over the signalling link between the central node and a peripheral node. It also causes a large number of updates in the peripheral node.